<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.5"/>
<title>QCNSim: QcnSimTest/TokenTest.cpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">QCNSim
   </div>
   <div id="projectbrief">Simulator for Quake-Catcher Network</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.5 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="annotated.html"><span>Classes</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="files.html"><span>File&#160;List</span></a></li>
      <li><a href="globals.html"><span>File&#160;Members</span></a></li>
    </ul>
  </div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Pages</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="dir_3e989efef406e88ca8d8bde4ec47b67f.html">QcnSimTest</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="headertitle">
<div class="title">TokenTest.cpp</div>  </div>
</div><!--header-->
<div class="contents">
<a href="_token_test_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;</div>
<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="comment">// This sample shows how to write a simple unit test for a function,</span></div>
<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="comment">// using Google C++ testing framework.</span></div>
<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="comment">//</span></div>
<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="comment">// Writing a unit test using Google C++ testing framework is easy as 1-2-3:</span></div>
<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;</div>
<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div>
<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">// Step 1. Include necessary header files such that the stuff your</span></div>
<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="comment">// test logic needs is declared.</span></div>
<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="comment">//</span></div>
<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="comment">// Don&#39;t forget gtest.h, which declares the testing framework.</span></div>
<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;</div>
<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="_token_test_8h.html">TokenTest.h</a>&quot;</span></div>
<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div>
<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="comment">// Step 2. Use the TEST macro to define your tests.</span></div>
<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="comment">//</span></div>
<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">// TEST has two parameters: the test case name and the test name.</span></div>
<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="comment">// After using the macro, you should define your test logic between a</span></div>
<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="comment">// pair of braces.  You can use a bunch of macros to indicate the</span></div>
<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="comment">// success or failure of a test.  EXPECT_TRUE and EXPECT_EQ are</span></div>
<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="comment">// examples of such macros.  For a complete list, see gtest.h.</span></div>
<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="comment">//</span></div>
<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="comment">// &lt;TechnicalDetails&gt;</span></div>
<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="comment">//</span></div>
<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="comment">// In Google Test, tests are grouped into test cases.  This is how we</span></div>
<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="comment">// keep test code organized.  You should put logically related tests</span></div>
<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="comment">// into the same test case.</span></div>
<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="comment">//</span></div>
<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="comment">// The test case name and the test name should both be valid C++</span></div>
<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="comment">// identifiers.  And you should not use underscore (_) in the names.</span></div>
<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="comment">//</span></div>
<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="comment">// Google Test guarantees that each test you define is run exactly</span></div>
<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="comment">// once, but it makes no guarantee on the order the tests are</span></div>
<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="comment">// executed.  Therefore, you should write your tests in such a way</span></div>
<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="comment">// that their results don&#39;t depend on their order.</span></div>
<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="comment">//</span></div>
<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">// &lt;/TechnicalDetails&gt;</span></div>
<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;</div>
<div class="line"><a name="l00062"></a><span class="lineno"><a class="line" href="class_token_test.html#a1b87e44b915b192c5f577c9c47e89e7f">   62</a></span>&#160;<a class="code" href="class_token_test.html#a1b87e44b915b192c5f577c9c47e89e7f">TokenTest::TokenTest</a>(): message(new <a class="code" href="class_message.html">Message</a>(<span class="stringliteral">&quot;This is message 1&quot;</span>)),</div>
<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;        dummyEntitySource(new <a class="code" href="class_message.html">Message</a>(<span class="stringliteral">&quot;This is dummy Entity 1&quot;</span>)), </div>
<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;        dummyEntityDestination(new <a class="code" href="class_message.html">Message</a>(<span class="stringliteral">&quot;This is dummy Entity 2&quot;</span>)),</div>
<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;        newDummyEntitySource(new <a class="code" href="class_message.html">Message</a>(<span class="stringliteral">&quot;This is dummy Entity 1&quot;</span>)), </div>
<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;        newDummyEntityDestination(new <a class="code" href="class_message.html">Message</a>(<span class="stringliteral">&quot;This is dummy Entity 2&quot;</span>)),</div>
<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;        newMessage(new <a class="code" href="class_message.html">Message</a>(<span class="stringliteral">&quot;This is a new message&quot;</span>)),</div>
<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;        simulatorGlobals(<a class="code" href="class_simulator_globals.html">SimulatorGlobals</a>(0.0, 0.0, false, <span class="stringliteral">&quot;TokenTest&quot;</span>)) {</div>
<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;}</div>
<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;</div>
<div class="line"><a name="l00072"></a><span class="lineno"><a class="line" href="_token_test_8cpp.html#adba2fe247a4ac44786fcd37d0ef218bc">   72</a></span>&#160;<a class="code" href="_constant_rate_traffic_generator_test_8cpp.html#a26497dd468babfeebfd7e976fdc56dd6">TEST_F</a>(<a class="code" href="class_token_test.html">TokenTest</a>, ConstructorPointers) {</div>
<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;    std::shared_ptr&lt;Token&gt; token(<span class="keyword">new</span> <a class="code" href="class_token.html">Token</a>(0, 0, message, dummyEntitySource, dummyEntityDestination));</div>
<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;</div>
<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;    EXPECT_EQ(0, token-&gt;id);</div>
<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;    EXPECT_EQ(0, token-&gt;priority);</div>
<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;    EXPECT_EQ(dummyEntitySource, token-&gt;source);</div>
<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;    EXPECT_EQ(dummyEntityDestination, token-&gt;destination);</div>
<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;}</div>
<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;</div>
<div class="line"><a name="l00082"></a><span class="lineno"><a class="line" href="_token_test_8cpp.html#a2720ad3addc7b7957d550aad38d1150c">   82</a></span>&#160;<a class="code" href="_constant_rate_traffic_generator_test_8cpp.html#a26497dd468babfeebfd7e976fdc56dd6">TEST_F</a>(<a class="code" href="class_token_test.html">TokenTest</a>, ChangeValues) {</div>
<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;    <span class="comment">// Create token.</span></div>
<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;    std::shared_ptr&lt;Token&gt; token(<span class="keyword">new</span> <a class="code" href="class_token.html">Token</a>(0, 0, message, dummyEntitySource, dummyEntityDestination));</div>
<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;    <span class="comment">// Change member values.</span></div>
<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;    token-&gt;id = 10;</div>
<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;    token-&gt;priority++;</div>
<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;    EXPECT_EQ(10, token-&gt;id);</div>
<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;    EXPECT_EQ(1, token-&gt;priority);</div>
<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;    </div>
<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;    <span class="comment">// Change pointer members.</span></div>
<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;    token-&gt;source = newDummyEntitySource;</div>
<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;    token-&gt;destination = newDummyEntityDestination;</div>
<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;    token-&gt;associatedEntity = newMessage;</div>
<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;    EXPECT_EQ(newDummyEntitySource, token-&gt;source);</div>
<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;    EXPECT_EQ(newDummyEntityDestination, token-&gt;destination);</div>
<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;    EXPECT_EQ(newMessage, token-&gt;associatedEntity);</div>
<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;</div>
<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;    <span class="comment">// Now change the contents of an Entity inside the token, without changing the address (pointer).</span></div>
<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;    newMessage-&gt;setContents(<span class="stringliteral">&quot;I am now altering the contents of newMessage&quot;</span>);</div>
<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;    EXPECT_EQ(newMessage, token-&gt;associatedEntity);</div>
<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;</div>
<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;    <span class="comment">// Now modify the contents of an Entity by accessing the pointer inside Token.</span></div>
<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;    std::dynamic_pointer_cast&lt;<a class="code" href="class_message.html">Message</a>&gt;(token-&gt;associatedEntity)-&gt;setContents(<span class="stringliteral">&quot;I am now modified through pointer.&quot;</span>);</div>
<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;    EXPECT_EQ(<span class="stringliteral">&quot;I am now modified through pointer.&quot;</span>, std::dynamic_pointer_cast&lt;Message&gt;(token-&gt;associatedEntity)-&gt;getContents());</div>
<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;}</div>
<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;</div>
<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;</div>
<div class="line"><a name="l00114"></a><span class="lineno"><a class="line" href="_token_test_8cpp.html#a6c481dda16dd3a00c9dcbd5a6285fe41">  114</a></span>&#160;<a class="code" href="_constant_rate_traffic_generator_test_8cpp.html#a26497dd468babfeebfd7e976fdc56dd6">TEST_F</a>(<a class="code" href="class_token_test.html">TokenTest</a>, TokenAsLocalVariable) {</div>
<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;    <span class="comment">// Create token as local variable.</span></div>
<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;    <a class="code" href="class_token.html">Token</a> token = <a class="code" href="class_token.html">Token</a>(0, 0, message, dummyEntitySource, dummyEntityDestination);</div>
<div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;    <span class="comment">// Change member values.</span></div>
<div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;    token.<a class="code" href="class_token.html#a29cd5cc1dd308d278737f1bdb293441d">id</a> = 10;</div>
<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;    token.<a class="code" href="class_token.html#a8125cc8499770f87f3540c81f889e039">priority</a>++;</div>
<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;    EXPECT_EQ(10, token.<a class="code" href="class_token.html#a29cd5cc1dd308d278737f1bdb293441d">id</a>);</div>
<div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;    EXPECT_EQ(1, token.<a class="code" href="class_token.html#a8125cc8499770f87f3540c81f889e039">priority</a>);</div>
<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;    </div>
<div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;    <span class="comment">// Change pointer members.</span></div>
<div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;    token.<a class="code" href="class_token.html#afb12b6d97945606e022f63ef6f1057b9">source</a> = newDummyEntitySource;</div>
<div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;    token.<a class="code" href="class_token.html#adf59bd26155dc10e574ee552065edaa6">destination</a> = newDummyEntityDestination;</div>
<div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;    token.<a class="code" href="class_token.html#afefc7a53c3510da4a70ec2a9f15b9dc2">associatedEntity</a> = newMessage;</div>
<div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;    EXPECT_EQ(newDummyEntitySource, token.<a class="code" href="class_token.html#afb12b6d97945606e022f63ef6f1057b9">source</a>);</div>
<div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;    EXPECT_EQ(newDummyEntityDestination, token.<a class="code" href="class_token.html#adf59bd26155dc10e574ee552065edaa6">destination</a>);</div>
<div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;    EXPECT_EQ(newMessage, token.<a class="code" href="class_token.html#afefc7a53c3510da4a70ec2a9f15b9dc2">associatedEntity</a>);</div>
<div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;</div>
<div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;    <span class="comment">// Now change the contents of an Entity inside the token, without changing the address (pointer).</span></div>
<div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;    newMessage-&gt;setContents(<span class="stringliteral">&quot;I am now altering the contents of newMessage&quot;</span>);</div>
<div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;    EXPECT_EQ(newMessage, token.<a class="code" href="class_token.html#afefc7a53c3510da4a70ec2a9f15b9dc2">associatedEntity</a>);</div>
<div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;</div>
<div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;    <span class="comment">// Now modify the contents of an Entity by accessing the pointer inside Token.</span></div>
<div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;    std::dynamic_pointer_cast&lt;<a class="code" href="class_message.html">Message</a>&gt;(token.<a class="code" href="class_token.html#afefc7a53c3510da4a70ec2a9f15b9dc2">associatedEntity</a>)-&gt;setContents(<span class="stringliteral">&quot;I am now modified through pointer.&quot;</span>);</div>
<div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;    EXPECT_EQ(<span class="stringliteral">&quot;I am now modified through pointer.&quot;</span>, std::dynamic_pointer_cast&lt;Message&gt;(token.<a class="code" href="class_token.html#afefc7a53c3510da4a70ec2a9f15b9dc2">associatedEntity</a>)-&gt;getContents());</div>
<div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;}</div>
<div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;</div>
<div class="line"><a name="l00141"></a><span class="lineno"><a class="line" href="_token_test_8cpp.html#ad711ec825ae9a436bbb18a1379212896">  141</a></span>&#160;<a class="code" href="_constant_rate_traffic_generator_test_8cpp.html#a26497dd468babfeebfd7e976fdc56dd6">TEST_F</a>(<a class="code" href="class_token_test.html">TokenTest</a>, NullValues) {</div>
<div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;    <span class="comment">// Create token as local variable.</span></div>
<div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;    <a class="code" href="class_token.html">Token</a> token = <a class="code" href="class_token.html">Token</a>(0, 0, message, dummyEntitySource, dummyEntityDestination);</div>
<div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;    </div>
<div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;    <span class="comment">// Verify the count of shared pointers. Should be 2, since they exist both in this object, and inside Token object.</span></div>
<div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;    EXPECT_EQ(2, token.<a class="code" href="class_token.html#afb12b6d97945606e022f63ef6f1057b9">source</a>.use_count());</div>
<div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;    EXPECT_EQ(2, token.<a class="code" href="class_token.html#adf59bd26155dc10e574ee552065edaa6">destination</a>.use_count());</div>
<div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;    EXPECT_EQ(2, token.<a class="code" href="class_token.html#afefc7a53c3510da4a70ec2a9f15b9dc2">associatedEntity</a>.use_count());</div>
<div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;    </div>
<div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;    <span class="comment">// Now delete the local shared pointers.</span></div>
<div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;    message.reset();</div>
<div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;    dummyEntitySource.reset();</div>
<div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;    dummyEntityDestination.reset();</div>
<div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;    </div>
<div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;    <span class="comment">// Verify the count of shared pointers. Should be 1, since the local ones were deleted, but they still exist inside Token object.</span></div>
<div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;    EXPECT_EQ(1, token.<a class="code" href="class_token.html#afb12b6d97945606e022f63ef6f1057b9">source</a>.use_count());</div>
<div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;    EXPECT_EQ(1, token.<a class="code" href="class_token.html#adf59bd26155dc10e574ee552065edaa6">destination</a>.use_count());</div>
<div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;    EXPECT_EQ(1, token.<a class="code" href="class_token.html#afefc7a53c3510da4a70ec2a9f15b9dc2">associatedEntity</a>.use_count());</div>
<div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;    </div>
<div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;    <span class="comment">// Delete the Token pointer members.</span></div>
<div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;    token.<a class="code" href="class_token.html#afb12b6d97945606e022f63ef6f1057b9">source</a>.reset();</div>
<div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;    token.<a class="code" href="class_token.html#adf59bd26155dc10e574ee552065edaa6">destination</a>.reset();</div>
<div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;    token.<a class="code" href="class_token.html#afefc7a53c3510da4a70ec2a9f15b9dc2">associatedEntity</a>.reset();</div>
<div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;    EXPECT_EQ(0, token.<a class="code" href="class_token.html#afb12b6d97945606e022f63ef6f1057b9">source</a>.get());</div>
<div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;    EXPECT_EQ(0, token.<a class="code" href="class_token.html#adf59bd26155dc10e574ee552065edaa6">destination</a>.get());</div>
<div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;    EXPECT_EQ(0, token.<a class="code" href="class_token.html#afefc7a53c3510da4a70ec2a9f15b9dc2">associatedEntity</a>.get());</div>
<div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;</div>
<div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;    <span class="comment">// Verify the count of shared pointers. Should be zero, since they were deleted, as well as the local ones.</span></div>
<div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;    EXPECT_EQ(0, token.<a class="code" href="class_token.html#afb12b6d97945606e022f63ef6f1057b9">source</a>.use_count());</div>
<div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;    EXPECT_EQ(0, token.<a class="code" href="class_token.html#adf59bd26155dc10e574ee552065edaa6">destination</a>.use_count());</div>
<div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;    EXPECT_EQ(0, token.<a class="code" href="class_token.html#afefc7a53c3510da4a70ec2a9f15b9dc2">associatedEntity</a>.use_count());</div>
<div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;</div>
<div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;    <span class="comment">// What is unique method now?</span></div>
<div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;    EXPECT_FALSE(token.<a class="code" href="class_token.html#afb12b6d97945606e022f63ef6f1057b9">source</a>.unique());</div>
<div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;}</div>
<div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;</div>
<div class="line"><a name="l00178"></a><span class="lineno"><a class="line" href="_token_test_8cpp.html#ad035a93939aa30b0276132f8e433ba65">  178</a></span>&#160;<a class="code" href="_constant_rate_traffic_generator_test_8cpp.html#a26497dd468babfeebfd7e976fdc56dd6">TEST_F</a>(<a class="code" href="class_token_test.html">TokenTest</a>, Routing) {</div>
<div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;    <span class="comment">// Build 5 nodes. Will test routing between them using explicit route attached to tokens. No need for links or facilities here.</span></div>
<div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;    <span class="comment">//std::shared_ptr&lt;Message&gt; dummyContents(new Message(&quot;This is a dummy Token contents.&quot;));</span></div>
<div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;    std::vector&lt;std::shared_ptr&lt;Node&gt;&gt; nodeVector;</div>
<div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;    std::vector&lt;std::shared_ptr&lt;Entity&gt;&gt; explicitRoute;</div>
<div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;    <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; 5; ++i) {</div>
<div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;        nodeVector.push_back(std::shared_ptr&lt;Node&gt;(<span class="keyword">new</span> <a class="code" href="class_node.html">Node</a>(simulatorGlobals)));</div>
<div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;    }</div>
<div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;    <span class="comment">// Push each node in a certain order to the explicitRoute vector. Let&#39;s have the first one as the source, the last one as the destination.</span></div>
<div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;    explicitRoute.push_back(nodeVector.at(0));</div>
<div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;    explicitRoute.push_back(nodeVector.at(1));</div>
<div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;    explicitRoute.push_back(nodeVector.at(2));</div>
<div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;    explicitRoute.push_back(nodeVector.at(3));</div>
<div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;    explicitRoute.push_back(nodeVector.at(4));</div>
<div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160;</div>
<div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;    <span class="comment">// Create one explicit Route.</span></div>
<div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;    <span class="comment">//Route route(explicitRoute, true);</span></div>
<div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;    <span class="comment">//EXPECT_EQ(explicitRoute, route.getExplicitRoute());</span></div>
<div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;</div>
<div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;    <span class="comment">// Let&#39;s test the basic functions for setting and getting explicit route.</span></div>
<div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;    std::shared_ptr&lt;Token&gt; token(<span class="keyword">new</span> <a class="code" href="class_token.html">Token</a>(simulatorGlobals, 1, <span class="keyword">nullptr</span>, nodeVector.at(0), nodeVector.at(4)));</div>
<div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160;    EXPECT_EQ(token-&gt;source, nodeVector.at(0));</div>
<div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160;    EXPECT_EQ(token-&gt;destination, nodeVector.at(4));</div>
<div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;    EXPECT_FALSE(token-&gt;previous); <span class="comment">// That&#39;s the way to test for nullptr smart pointers.</span></div>
<div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;    EXPECT_FALSE(token-&gt;next);</div>
<div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;    <span class="comment">// Attach route vector (NOT route object) to token&#39;s Route object and set it to record route.</span></div>
<div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;    token-&gt;setExplicitRoute(explicitRoute);</div>
<div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;    token-&gt;setRecordThisRoute();</div>
<div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;    EXPECT_EQ(explicitRoute, token-&gt;getExplicitRoute());</div>
<div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;    <span class="comment">// Give the token to the source node and let it forward.</span></div>
<div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;    nodeVector.at(0)-&gt;processAndForward(token);</div>
<div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;    <span class="comment">// Is the first element of recorded route really the source?</span></div>
<div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;    EXPECT_EQ(nodeVector.at(0), token-&gt;getRecordedRoute().front());</div>
<div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160;    <span class="comment">// Set the explicit route again, check whether the recorded route was erased.</span></div>
<div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160;    token-&gt;setExplicitRoute(explicitRoute);</div>
<div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;    EXPECT_EQ(0, token-&gt;getRecordedRoute().size());</div>
<div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;    <span class="comment">// Se the record route to false; route should not be recorded.</span></div>
<div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160;    token-&gt;setDoNotRecordThisRoute();</div>
<div class="line"><a name="l00216"></a><span class="lineno">  216</span>&#160;    <span class="comment">// Let&#39;s push hops into the recordedRoute.</span></div>
<div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;    token-&gt;addHopToRecordedRoute(nodeVector.at(0));</div>
<div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;    token-&gt;addHopToRecordedRoute(nodeVector.at(1));</div>
<div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;    token-&gt;addHopToRecordedRoute(nodeVector.at(2));</div>
<div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;    token-&gt;addHopToRecordedRoute(nodeVector.at(3));</div>
<div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;    token-&gt;addHopToRecordedRoute(nodeVector.at(4));</div>
<div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;    <span class="comment">// Recorded route should be empty.</span></div>
<div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;    EXPECT_TRUE(token-&gt;getRecordedRoute().empty());</div>
<div class="line"><a name="l00224"></a><span class="lineno">  224</span>&#160;    <span class="comment">// Now enable route recording and repeat.</span></div>
<div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;    token-&gt;setRecordThisRoute();</div>
<div class="line"><a name="l00226"></a><span class="lineno">  226</span>&#160;    <span class="comment">// Let&#39;s push hops into the recordedRoute.</span></div>
<div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;    token-&gt;addHopToRecordedRoute(nodeVector.at(0));</div>
<div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;    token-&gt;addHopToRecordedRoute(nodeVector.at(1));</div>
<div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;    token-&gt;addHopToRecordedRoute(nodeVector.at(2));</div>
<div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;    token-&gt;addHopToRecordedRoute(nodeVector.at(3));</div>
<div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;    token-&gt;addHopToRecordedRoute(nodeVector.at(4));</div>
<div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;    <span class="comment">// That was basically explicitRoute vector. Verify.</span></div>
<div class="line"><a name="l00233"></a><span class="lineno">  233</span>&#160;    EXPECT_EQ(explicitRoute, token-&gt;getRecordedRoute());</div>
<div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;    <span class="comment">// Now manually furnish nodes to token and allow it to update its previous/next members by calling the forward function.</span></div>
<div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;    <span class="comment">// Route is Node 0, 1, 2, 3, 4. Source is 0, destination is 4.</span></div>
<div class="line"><a name="l00236"></a><span class="lineno">  236</span>&#160;    <span class="comment">// Begin with source node. Since the next hop in the list is node 0, previous will be zero, next will be zero. The update function within Token does not treat this.</span></div>
<div class="line"><a name="l00237"></a><span class="lineno">  237</span>&#160;    token-&gt;updateHopsFromExplicitRoute(nodeVector.at(0));</div>
<div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;    EXPECT_EQ(nodeVector.at(0), token-&gt;previous);</div>
<div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;    EXPECT_EQ(nodeVector.at(0), token-&gt;next); </div>
<div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;    <span class="comment">// Observe that while the token is still &quot;at&quot; current node 0, the next one will be 1 and the previous is 0 after updating forward members. Token is &quot;about&quot; to exit node 0.</span></div>
<div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;    <span class="comment">// When the token reaches node 1, the current node is 1, the previous node is 0, and the next node is 1 (before updating forward members).</span></div>
<div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;    <span class="comment">// Now &quot;forward&quot; to node 1, the next hop.</span></div>
<div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;    token-&gt;updateHopsFromExplicitRoute(nodeVector.at(0));</div>
<div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;    EXPECT_EQ(nodeVector.at(0), token-&gt;previous);</div>
<div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;    EXPECT_EQ(nodeVector.at(1), token-&gt;next);</div>
<div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;    <span class="comment">// Now &quot;forward&quot; to node 2, the next hop.</span></div>
<div class="line"><a name="l00247"></a><span class="lineno">  247</span>&#160;    token-&gt;updateHopsFromExplicitRoute(nodeVector.at(1));</div>
<div class="line"><a name="l00248"></a><span class="lineno">  248</span>&#160;    EXPECT_EQ(nodeVector.at(1), token-&gt;previous);</div>
<div class="line"><a name="l00249"></a><span class="lineno">  249</span>&#160;    EXPECT_EQ(nodeVector.at(2), token-&gt;next);</div>
<div class="line"><a name="l00250"></a><span class="lineno">  250</span>&#160;    <span class="comment">// Now &quot;forward&quot; to node 3, the next hop.</span></div>
<div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;    token-&gt;updateHopsFromExplicitRoute(nodeVector.at(2));</div>
<div class="line"><a name="l00252"></a><span class="lineno">  252</span>&#160;    EXPECT_EQ(nodeVector.at(2), token-&gt;previous);</div>
<div class="line"><a name="l00253"></a><span class="lineno">  253</span>&#160;    EXPECT_EQ(nodeVector.at(3), token-&gt;next);</div>
<div class="line"><a name="l00254"></a><span class="lineno">  254</span>&#160;    <span class="comment">// Now &quot;forward&quot; to node 4, the next hop.</span></div>
<div class="line"><a name="l00255"></a><span class="lineno">  255</span>&#160;    token-&gt;updateHopsFromExplicitRoute(nodeVector.at(3));</div>
<div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;    EXPECT_EQ(nodeVector.at(3), token-&gt;previous);</div>
<div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;    EXPECT_EQ(nodeVector.at(4), token-&gt;next);</div>
<div class="line"><a name="l00258"></a><span class="lineno">  258</span>&#160;    <span class="comment">// Now attempt forwarding past node 4. The token should get stuck at node 4, since the token has no intelligence to consider itself reaching a destination. Attempt this three times.</span></div>
<div class="line"><a name="l00259"></a><span class="lineno">  259</span>&#160;    token-&gt;updateHopsFromExplicitRoute(nodeVector.at(4));</div>
<div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160;    EXPECT_EQ(nodeVector.at(4), token-&gt;previous);</div>
<div class="line"><a name="l00261"></a><span class="lineno">  261</span>&#160;    EXPECT_EQ(nodeVector.at(4), token-&gt;next);</div>
<div class="line"><a name="l00262"></a><span class="lineno">  262</span>&#160;    token-&gt;updateHopsFromExplicitRoute(nodeVector.at(4));</div>
<div class="line"><a name="l00263"></a><span class="lineno">  263</span>&#160;    EXPECT_EQ(nodeVector.at(4), token-&gt;previous);</div>
<div class="line"><a name="l00264"></a><span class="lineno">  264</span>&#160;    EXPECT_EQ(nodeVector.at(4), token-&gt;next);</div>
<div class="line"><a name="l00265"></a><span class="lineno">  265</span>&#160;    token-&gt;updateHopsFromExplicitRoute(nodeVector.at(4));</div>
<div class="line"><a name="l00266"></a><span class="lineno">  266</span>&#160;    EXPECT_EQ(nodeVector.at(4), token-&gt;previous);</div>
<div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;    EXPECT_EQ(nodeVector.at(4), token-&gt;next);</div>
<div class="line"><a name="l00268"></a><span class="lineno">  268</span>&#160;    </div>
<div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160;    <span class="comment">// Let&#39;s attach no route.</span></div>
<div class="line"><a name="l00270"></a><span class="lineno">  270</span>&#160;    token-&gt;setExplicitRoute(std::vector&lt;std::shared_ptr&lt;Entity&gt;&gt;());</div>
<div class="line"><a name="l00271"></a><span class="lineno">  271</span>&#160;    EXPECT_TRUE(token-&gt;getExplicitRoute().empty());</div>
<div class="line"><a name="l00272"></a><span class="lineno">  272</span>&#160;    EXPECT_TRUE(token-&gt;getRecordedRoute().empty());</div>
<div class="line"><a name="l00273"></a><span class="lineno">  273</span>&#160;    <span class="comment">// Now if we attempt to have a node forward the token, it should not work.</span></div>
<div class="line"><a name="l00274"></a><span class="lineno">  274</span>&#160;    token-&gt;updateHopsFromExplicitRoute(nodeVector.at(0));</div>
<div class="line"><a name="l00275"></a><span class="lineno">  275</span>&#160;    EXPECT_EQ(nodeVector.at(0), token-&gt;previous);</div>
<div class="line"><a name="l00276"></a><span class="lineno">  276</span>&#160;    EXPECT_FALSE(token-&gt;next); <span class="comment">// This should be null.</span></div>
<div class="line"><a name="l00277"></a><span class="lineno">  277</span>&#160;    <span class="comment">// Try again. Same outcome.</span></div>
<div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;    token-&gt;updateHopsFromExplicitRoute(nodeVector.at(0));</div>
<div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160;    EXPECT_EQ(nodeVector.at(0), token-&gt;previous);</div>
<div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160;    EXPECT_FALSE(token-&gt;next); <span class="comment">// This should be null.</span></div>
<div class="line"><a name="l00281"></a><span class="lineno">  281</span>&#160;    <span class="comment">// Have another node forward the token. Only the previous field should be modified.</span></div>
<div class="line"><a name="l00282"></a><span class="lineno">  282</span>&#160;    token-&gt;updateHopsFromExplicitRoute(nodeVector.at(3));</div>
<div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;    EXPECT_EQ(nodeVector.at(3), token-&gt;previous);</div>
<div class="line"><a name="l00284"></a><span class="lineno">  284</span>&#160;    EXPECT_FALSE(token-&gt;next); <span class="comment">// This should be null.</span></div>
<div class="line"><a name="l00285"></a><span class="lineno">  285</span>&#160;</div>
<div class="line"><a name="l00286"></a><span class="lineno">  286</span>&#160;    </div>
<div class="line"><a name="l00287"></a><span class="lineno">  287</span>&#160;}</div>
<div class="ttc" id="_token_test_8h_html"><div class="ttname"><a href="_token_test_8h.html">TokenTest.h</a></div></div>
<div class="ttc" id="class_token_html_afefc7a53c3510da4a70ec2a9f15b9dc2"><div class="ttname"><a href="class_token.html#afefc7a53c3510da4a70ec2a9f15b9dc2">Token::associatedEntity</a></div><div class="ttdeci">std::shared_ptr&lt; Entity &gt; associatedEntity</div><div class="ttdoc">Reference to associated Entity object (typically another child of Entity class). </div><div class="ttdef"><b>Definition:</b> <a href="_token_8h_source.html#l00055">Token.h:55</a></div></div>
<div class="ttc" id="class_node_html"><div class="ttname"><a href="class_node.html">Node</a></div><div class="ttdoc">Node class. </div><div class="ttdef"><b>Definition:</b> <a href="_node_8h_source.html#l00051">Node.h:51</a></div></div>
<div class="ttc" id="class_token_html_afb12b6d97945606e022f63ef6f1057b9"><div class="ttname"><a href="class_token.html#afb12b6d97945606e022f63ef6f1057b9">Token::source</a></div><div class="ttdeci">std::shared_ptr&lt; Entity &gt; source</div><div class="ttdoc">Source entity of this token. </div><div class="ttdef"><b>Definition:</b> <a href="_token_8h_source.html#l00058">Token.h:58</a></div></div>
<div class="ttc" id="class_token_html"><div class="ttname"><a href="class_token.html">Token</a></div><div class="ttdoc">Token class. </div><div class="ttdef"><b>Definition:</b> <a href="_token_8h_source.html#l00044">Token.h:44</a></div></div>
<div class="ttc" id="class_token_test_html"><div class="ttname"><a href="class_token_test.html">TokenTest</a></div><div class="ttdoc">Fixture for Token Tests. </div><div class="ttdef"><b>Definition:</b> <a href="_token_test_8h_source.html#l00040">TokenTest.h:40</a></div></div>
<div class="ttc" id="class_message_html"><div class="ttname"><a href="class_message.html">Message</a></div><div class="ttdoc">Message class. </div><div class="ttdef"><b>Definition:</b> <a href="_message_8h_source.html#l00032">Message.h:32</a></div></div>
<div class="ttc" id="class_simulator_globals_html"><div class="ttname"><a href="class_simulator_globals.html">SimulatorGlobals</a></div><div class="ttdoc">Simulator-scope variables and parameters. </div><div class="ttdef"><b>Definition:</b> <a href="_simulator_globals_8h_source.html#l00158">SimulatorGlobals.h:158</a></div></div>
<div class="ttc" id="class_token_html_adf59bd26155dc10e574ee552065edaa6"><div class="ttname"><a href="class_token.html#adf59bd26155dc10e574ee552065edaa6">Token::destination</a></div><div class="ttdeci">std::shared_ptr&lt; Entity &gt; destination</div><div class="ttdoc">Destination entity of this token. </div><div class="ttdef"><b>Definition:</b> <a href="_token_8h_source.html#l00059">Token.h:59</a></div></div>
<div class="ttc" id="_constant_rate_traffic_generator_test_8cpp_html_a26497dd468babfeebfd7e976fdc56dd6"><div class="ttname"><a href="_constant_rate_traffic_generator_test_8cpp.html#a26497dd468babfeebfd7e976fdc56dd6">TEST_F</a></div><div class="ttdeci">TEST_F(ConstantRateTrafficGeneratorTest, ConstantRateRateGeneratorTest)</div><div class="ttdoc">Tests for constant rate generator. </div><div class="ttdef"><b>Definition:</b> <a href="_constant_rate_traffic_generator_test_8cpp_source.html#l00034">ConstantRateTrafficGeneratorTest.cpp:34</a></div></div>
<div class="ttc" id="class_token_test_html_a1b87e44b915b192c5f577c9c47e89e7f"><div class="ttname"><a href="class_token_test.html#a1b87e44b915b192c5f577c9c47e89e7f">TokenTest::TokenTest</a></div><div class="ttdeci">TokenTest()</div><div class="ttdef"><b>Definition:</b> <a href="_token_test_8cpp_source.html#l00062">TokenTest.cpp:62</a></div></div>
<div class="ttc" id="class_token_html_a29cd5cc1dd308d278737f1bdb293441d"><div class="ttname"><a href="class_token.html#a29cd5cc1dd308d278737f1bdb293441d">Token::id</a></div><div class="ttdeci">unsigned int id</div><div class="ttdoc">Token unique ID. </div><div class="ttdef"><b>Definition:</b> <a href="_token_8h_source.html#l00051">Token.h:51</a></div></div>
<div class="ttc" id="class_token_html_a8125cc8499770f87f3540c81f889e039"><div class="ttname"><a href="class_token.html#a8125cc8499770f87f3540c81f889e039">Token::priority</a></div><div class="ttdeci">int priority</div><div class="ttdoc">Token priority. Higher priority, higher number. </div><div class="ttdef"><b>Definition:</b> <a href="_token_8h_source.html#l00052">Token.h:52</a></div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Mon Jan 6 2014 12:30:38 for QCNSim by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.5
</small></address>
</body>
</html>
